package com.zhentao.service;

import java.util.List;
import java.util.Map;

/**
 * 数据预测服务接口
 */
public interface PredictionService {
    
    /**
     * 总金额预测
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @param months 预测月数
     * @return 预测结果
     */
    Map<String, Object> predictTotalAmount(String startDate, String endDate, int months);
    
    /**
     * 分组预测
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @param groupBy 分组字段
     * @param months 预测月数
     * @return 分组预测结果
     */
    List<Map<String, Object>> predictGrouped(String startDate, String endDate, String groupBy, int months);
    
    /**
     * 时间序列预测
     * @param data 历史数据
     * @param periods 预测周期数
     * @return 预测结果
     */
    List<Double> predictTimeSeries(List<Double> data, int periods);
    
    /**
     * 异常值检测
     * @param data 数据序列
     * @param threshold 阈值倍数
     * @return 异常值索引列表
     */
    List<Integer> detectAnomalies(List<Double> data, double threshold);
} 

